home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
CIncludes
/
NuBusPlugin.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-05-01
|
2KB
|
105 lines
/*
File: NuBusPlugin.h
Contains: I/O Interfaces for NuBus "bus plugins"
Version: Technology: xxx Put version info here xxx
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __NUBUSPLUGIN__
#define __NUBUSPLUGIN__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __SLOTS__
#include <Slots.h>
#endif
#ifndef __KERNEL__
#include <Kernel.h>
#endif
#ifndef __INTERRUPTS__
#include <Interrupts.h>
#endif
#ifndef __NAMEREGISTRY__
#include <NameRegistry.h>
#endif
#ifndef __NUBUS__
#include <NuBus.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import on
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=mac68k
#endif
#if FOR_SYSTEM8_PREEMPTIVE
enum {
kNuBusMaxRegs = 10,
kNuBusPluginNSlotMask = 0x0000000F,
kNuBusPluginCanDisable = 0x80000000,
kNuBusPluginCanMap = 0x40000000,
kNuBusPluginVersion = 0
};
typedef OSStatus (*NuBusPluginInitProc)(const RegEntryRef *thisBus);
typedef OSStatus (*NuBusPluginFinalProc)(const RegEntryRef *thisBus);
struct NuBusPluginHeader {
NumVersion version;
UInt32 attributes;
UInt32 reserved1;
UInt32 reserved2;
};
typedef struct NuBusPluginHeader NuBusPluginHeader;
struct NuBusPluginDescriptor {
NuBusPluginHeader header;
NuBusPluginInitProc Initialize;
NuBusPluginFinalProc Finalize;
};
typedef struct NuBusPluginDescriptor NuBusPluginDescriptor;
/*
* NuBusMapSlot -
*
* The interface a NuBus "bus plugin" uses to communicate its
* slot addressing requirements to the NuBus family manager
*
*/
extern OSStatus NuBusMapSlot(const RegEntryRef *thisBus, PropertyReg *theseAddresses, ByteCount nAddresses, RegEntryRef *resultSlots);
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=reset
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import off
#endif
#ifdef __cplusplus
}
#endif
#endif /* __NUBUSPLUGIN__ */